public class test_reverse {
    public static void main(String[] args) {
        // 定义初始数组
        int[] array = {10, 20, 30, 40, 50};
        
        // 输出原始数组
        System.out.println("原始数组：");
        printArray(array);

        // 反转数组
        reverseArray(array);

        // 输出反转后的数组
        System.out.println("\n反转后的数组：");
        printArray(array);
    }

    // 方法：反转数组
    public static void reverseArray(int[] arr) {
        int start = 0; // 开始位置的索引
        int end = arr.length - 1; // 结束位置的索引

        // 依次前后交换数据，直到start和end相遇
        while (start < end) {
            // 交换start位置和end位置的数据
            int temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;

            // 移动start和end位置，继续交换下一组数据
            start++;
            end--;
        }
    }

    // 方法：输出数组
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }
}
